package org.example.bean;

import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;

@Component // 注入Spring容器，全局唯一
public class ChatSessionManager {
    // 存储所有会话：key=chatId，value=ChatSession
    private final Map<String, ChatSession> sessions = new HashMap<>();

    // 创建新会话
    public ChatSession createSession() {
        ChatSession session = new ChatSession();
        sessions.put(session.getChatId(), session);
        return session;
    }

    // 根据chatId获取会话（不存在则创建新会话）
    public ChatSession getSession(String chatId) {
        if (chatId == null || !sessions.containsKey(chatId)) {
            return createSession(); // 新会话
        }
        return sessions.get(chatId);
    }

    // 清理过期会话（可选，避免内存溢出）
    public void cleanExpiredSessions() {
        // 实际项目可添加定时任务，删除长时间未活跃的会话
    }
}